package com.naiterui.ehp.bs.doctor.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.google.common.base.MoreObjects;

import io.swagger.annotations.ApiModelProperty;

/**
 * 医生对患者的备注个人基本信息
 *
 * @version 2017年6月7日 by wangchuan
 * @Description
 */
public class PatientRemarkInfoVO {
    /**
     * 患者头像
     */
    @ApiModelProperty(value = "患者头像")
    @JsonInclude(Include.NON_NULL)
    private String patientIcon;

    /**
     * 患者ID
     */
    @ApiModelProperty(value = "患者ID")
    @JsonInclude(Include.NON_NULL)
    private Long patientId;

    /**
     * 患者医生备注名
     */
    @ApiModelProperty(value = "患者医生备注名")
    private String remarkName;

    /**
     * 患者昵称
     */
    @ApiModelProperty(value = "患者昵称")
    private String nickName;

    /**
     * 患者显示姓名
     */
    @ApiModelProperty(value = "患者显示姓名")
    private String name;

    /**
     * 患者性别
     */
    @ApiModelProperty(value = "患者性别:0.女 1.男")
    private Integer gender;

    /**
     * 患者年龄
     */
    @ApiModelProperty(value = "患者年龄")
    private Integer age;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    @JsonInclude(Include.NON_NULL)
    private String address;

    /** 患者手机号 */
    //@ApiModelProperty(value = "患者手机号")
    //@JsonInclude(Include.NON_NULL)
    //private String phone;

    /**
     * 是否提示患者填写的基本信息：0.不提示 1.提示
     */
    @ApiModelProperty(value = "是否提示患者填写的基本信息：0.不提示 1.提示", allowableValues = "0,1")
    @JsonInclude(Include.NON_NULL)
    private Integer showTips;

    /**
     * 关注医生时间
     */
    @ApiModelProperty(value = "关注医生时间")
    @JsonInclude(Include.NON_NULL)
    private Long createTime;

    /**
     * 扫码来源（关注来源）
     */
    @ApiModelProperty(value = "扫码来源：1.app  2.pc  3.推荐活动关注     4.线上诊室")
    @JsonInclude(Include.NON_NULL)
    private Integer source;

    /**
     * 会话收费金额
     */
    @ApiModelProperty(value = "会话收费金额")
    @JsonInclude(Include.NON_NULL)
    private Integer consultCost;

    /**
     * 账户状态
     */
    @ApiModelProperty(value = "账户状态:0.正常  1.禁用")
    @JsonInclude(Include.NON_NULL)
    private Integer accountStatus;

    /**
     * 编辑页面，提示(采用)信息
     */
    @ApiModelProperty(value = "编辑页面，提示(采用)信息")
    @JsonInclude(Include.NON_NULL)
    private PatientRemarkInfoVO tipsInfo;

    /**
     * 扫码来源APP：<code>SCAN_CODE_SOURCE_APP</code>
     */
    public static final int SCAN_CODE_SOURCE_APP = 1;
    /**
     * 扫码来源PC：<code>SCAN_CODE_SOURCE_PC</code>
     */
    public static final int SCAN_CODE_SOURCE_PC = 2;

    /**
     * 是否提示患者填写的基本信息：0.不提示
     */
    public static final Integer SHOW_TIPS_FALSE = 0;
    /**
     * 是否提示患者填写的基本信息：1.提示
     */
    public static final Integer SHOW_TIPS_TRUE = 1;

    /**
     * 关注来源显示文本
     */
    @ApiModelProperty(value = "关注来源显示文本")
    @JsonInclude(Include.NON_NULL)
    private String sourceMsg;

    /**
     * 关注来源提示文本
     */
    @ApiModelProperty(value = "关注来源提示文本 ")
    @JsonInclude(Include.NON_NULL)
    private String sourceTips;

    public Long getPatientId() {
        return patientId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public String getRemarkName() {
        return remarkName;
    }

    public void setRemarkName(String remarkName) {
        this.remarkName = remarkName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    //public String getPhone() {
    //    return phone;
    //}
    //
    //public void setPhone(String phone) {
    //    this.phone = phone;
    //}

    public String getPatientIcon() {
        return patientIcon;
    }

    public void setPatientIcon(String patientIcon) {
        this.patientIcon = patientIcon;
    }

    public Integer getShowTips() {
        return showTips;
    }

    public void setShowTips(Integer showTips) {
        this.showTips = showTips;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public Integer getConsultCost() {
        return consultCost;
    }

    public void setConsultCost(Integer consultCost) {
        this.consultCost = consultCost;
    }

    public Integer getAccountStatus() {
        return accountStatus;
    }

    public void setAccountStatus(Integer accountStatus) {
        this.accountStatus = accountStatus;
    }

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                          .add("patientIcon", patientIcon)
                          .add("patientId", patientId)
                          .add("remarkName", remarkName)
                          .add("nickName", nickName)
                          .add("name", name)
                          .add("gender", gender)
                          .add("age", age)
                          .add("address", address)
                          .add("showTips", showTips)
                          .add("createTime", createTime)
                          .add("source", source)
                          .add("consultCost", consultCost)
                          .add("accountStatus", accountStatus)
                          .add("tipsInfo", tipsInfo)
                          .add("sourceMsg", sourceMsg)
                          .add("sourceTips", sourceTips)
                          .toString();
    }

    public PatientRemarkInfoVO getTipsInfo() {
        return tipsInfo;
    }

    public void setTipsInfo(PatientRemarkInfoVO tipsInfo) {
        this.tipsInfo = tipsInfo;
    }

    public String getSourceTips() {
        return sourceTips;
    }

    public void setSourceTips(String sourceTips) {
        this.sourceTips = sourceTips;
    }

    public String getSourceMsg() {
        return sourceMsg;
    }

    public void setSourceMsg(String sourceMsg) {
        this.sourceMsg = sourceMsg;
    }

    public String getNickName() {
	
        return nickName;
	
    }
	
    public void setNickName(String nickName) {
	
        this.nickName = nickName;
	
    }
}
